home *** CD-ROM | disk | FTP | other *** search
/ Logiciels PC Special 3 / Logiciel PC - Hors-Serie 3.iso / Logs / consoles / sms-gg / meka013 / MEKA.TXT < prev   
Text File  |  1999-05-10  |  22KB  |  506 lines

  1.  
  2.   MEKA 0.13 - Documentation
  3.  ===========================
  4.   Sega Master System, Game Gear, SG-1000 and SC-3000 emulator for MS-DOS.
  5.   (c) in 1998-1999 by Omar Cornut / Zoop (cornut@cybercable.fr)
  6.   and Hiromitsu Shioya / Hiro-shi (shica@cool.ne.jp)
  7.  =========================================================================
  8.   This documentation is best viewed with the MS-DOS editor, as usual.
  9.  
  10. ----------------------------------------------------------------------------
  11.  Level 1 : Introduction
  12. ----------------------------------------------------------------------------
  13.  
  14.  MEKA is a Sega 8-bit emulator for MS-DOS, made by the following people:
  15.  
  16.  > Omar Cornut / Zoop (cornut@cybercable.fr)
  17.    Machines emulation, graphical user interface and the rest.
  18.  
  19.  > Hiromitsu Shioya / Hiro-shi (shica@cool.ne.jp)
  20.    Sound emulation (standard PSG and Yamaha 2413 chipset).
  21.  
  22.  > Marat Fayzullin / Rst38h (fms@cs.umd.edu)
  23.    Z80 CPU Core (publicly released a while ago).
  24.  
  25.  MEKA officially emulates the following systems:
  26.   - Sega Master System / SMS
  27.   - Sega Game Gear     / GG
  28.   - Sega Game 1000     / SG-1000
  29.   - Sega Computer 3000 / SC-3000
  30.  You can play other systems on it only if you are smart enough to figure how.
  31.  And if you are, I doubt you will want to play Nintendo games. So forget it.
  32.  
  33.  Now let me tell you more about these cool systems:
  34.  
  35.  The SG-1000, for "Sega Game 1000", was released in Japan in July 1983.
  36.  Heavily based on the MSX hardware, it is the first known Sega system (until
  37.  someone proves me wrong, which I would love to have happen).
  38.  
  39.  The SC-3000, for "Sega Computer 3000", is a variation of the SG-1000 (still
  40.  compatible with it) with a keyboard, and some optionial peripherals such as
  41.  a printer (SP-400), a tape recorder (SR-1000), or a big black box called the
  42.  SF-7000 that provided a 3" floppy disk drive, a Centronics printer port and
  43.  more memory for use for programmers. The SC-3000 was released in November
  44.  1983 in Japan, and then was sold in certain countries around the world (in
  45.  Australia and Europe, I think), shipped a Basic programming cartridge.
  46.  
  47.  Later, Sega released some updates to these systems, included, but not
  48.  limited to the SC-3000h, SG-1000-II, SK-1000, Mark II and then Mark III.
  49.  
  50.  I don't know a lot about these systems, but the Mark III is compatible with
  51.  what we call the Master System, and still have the necessary ports to plug
  52.  a printer, or a keyboard. A FM extension was available, providing a much
  53.  better sound hardware, and which is supported by most games released in
  54.  Japan between 1986 and 1988.
  55.  
  56.  In 1987 came the Sega Master System, almost around the same time Nintendo
  57.  released the crappy gray box. It was sold just about everywhere, but the
  58.  Japanese system had the FM extension embeded and profited from it because
  59.  of better musics.
  60.  
  61.  Later came the Game Gear, which was nothing but a portable Master System
  62.  with a smaller screen, a communication port (for dual gaming) and more
  63.  colors to choose from.
  64.  
  65. ----------------------------------------------------------------------------
  66.  Level 2 : Features
  67. ----------------------------------------------------------------------------
  68.  
  69.  Graphics
  70.  --------
  71.  Unlike some other emulators, MEKA doesn't feature thousands of different
  72.  graphic engines, but only one, and a working one. Therefore most games
  73.  should be working, as it uses a true line-per-line refresh, and supports
  74.  most raster effects (including palette effects).
  75.  
  76.  Consequently, MEKA is slow. Very slow.
  77.  If your computer is not a fast Pentium, I suggest using BrSMS instead, which
  78.  will run very fast on most games (not all, though). It is available at the
  79.  following address: http://www.lsi.usp.br/~ricardo/brsms.htm
  80.  
  81.  
  82.  Sound
  83.  -----
  84.  MEKA emulates both PSG and FM hardware.
  85.  Although technically better, the FM hardware is only used in certain Master
  86.  System games, released in Japan between 1986 and 1988.
  87.  
  88.  The four channels of the Programmable Sound Generator should be correctly
  89.  emulated, and waves are realtime synthetized. Last but not least, the way
  90.  the sound is updated allow voices to be heard in games that uses them (not
  91.  perfectly, though).
  92.  
  93.  The FM hardware uses the Yamaha 2413 chipset. It features nine voices,
  94.  fifteen pre-defined instruments, and one user definable. Three of the voices
  95.  can be used for percussions, and the chipset provides hardware vibrato and
  96.  amplitude modulation. 
  97.  
  98.  Consequently, MEKA is even slower.
  99.  
  100.  
  101.  Peripherals
  102.  -----------
  103.  MEKA supports/emulates the following peripherals:
  104.  
  105.   - Standard two buttons joypads:
  106.     Almost all games use them. 
  107.  
  108.   - Lightguns 1 and 2:
  109.     So far only two dumped games use them: Gangster Town and Rescue Mission.
  110.     It is emulated using a cursor that you control with mouse. Yet you cannot
  111.     use both Lightguns on the same time (for Gangster Town).
  112.  
  113.   - Paddle Controllers ("ala Steering Wheel"):
  114.     Some Japaneses games use it. It is emulated via the mouse, and therefore
  115.     you cannot use two of these at the same time (for Galactic Protector).
  116.  
  117.   - SC-3000 Keyboard:
  118.     Used in all SC-3000 programs.
  119.     Please note that keyboard emulation is *working* under MEKA, which
  120.     obviously is not the case with all emulators that "supports" SC-3000.
  121.  
  122.   - 3-D Glasses:
  123.     This is one of the weirdest features of this emulator, as 3-D Glasses are
  124.     supported, but not simulated properly. If someone is familiar with 3-D
  125.     on the PC, I'm interested in knowing which is the best way to simulate
  126.     this kind of effect. You can also drop me a note to tell me the pros and
  127.     cons of the differents methods featured in the Virtual Boy emulator.
  128.  
  129.  
  130.  Interface
  131.  ---------
  132.  A feature that most emulators lack is a graphical user interface (GUI).
  133.  MEKA has one, which does not require particular skill to use. Just use your
  134.  mouse to point and click. Experienced users that are sick of using mice are
  135.  also able to use keyboard shortcuts to activate certain functions.
  136.  
  137.  Due to the way it was done, the graphical user interface is extremely slow,
  138.  and a *very* fast machine is recommended to use it in optimal conditions
  139.  (without having to skip frames). Of course, it doesn't affect the emulation
  140.  speed (which is already slow) while in fullscreen mode.
  141.  
  142.  I have some ideas on how to optimize it. Maybe.
  143.  
  144.  
  145.  Other things
  146.  ------------
  147.  A lot of work has been done on certain other things that most people won't
  148.  notice (because they have been worked on), including, but no limited to:
  149.  
  150.   - Patching system: this allows you to hack/crack ROMs without having to
  151.     modify the file. Check the file called "MEKA.PAT".
  152.  
  153.   - Smart configuration file system: MEKA will *never* bother you because of
  154.     a corrupted configuration file, or some bad options in it.
  155.     Also, the file is rewritten and commented everytime you quit.
  156.  
  157.   - BIOS inclusion. You can play the snail game in MEKA, provided you know
  158.     how to access to it :-)
  159.     Originally, MEKA was supposed to use my own reprogrammed BIOSes. Then I
  160.     found that someone already dumped them so I stopped working on mines and
  161.     included the original ones instead.
  162.  
  163.   - A very precise compatibility list. MEKA was heavily tested, unlike some
  164.     other emulators that you doubt they were even ran by their author because
  165.     being released. Most of the tests on Game Gear games were done by Mxs.
  166.  
  167.   - Easter eggs / secret features: find them by yourself.
  168.  
  169.   - A Graphical User Interface, not necessary to describe.
  170.  
  171.  
  172. ----------------------------------------------------------------------------
  173.  Level 3 : "Does it work ?"
  174. ----------------------------------------------------------------------------
  175.  
  176.  I tried to make MEKA the most compatible I could make it.
  177.  Unfortunatly, not every game is working properly with it. If you want to
  178.  know which, be sure to check the compatibility list provided.
  179.  
  180. ----------------------------------------------------------------------------
  181.  Level 4 : "I just checked it.. Heh ! where did you got all these roms ?!"
  182. ----------------------------------------------------------------------------
  183.  
  184.  Monitor this site: http://smspower.speedhost.com
  185.  New roms will appears regularly here.
  186.  
  187. ----------------------------------------------------------------------------
  188.  Level 5 : Usability
  189. ----------------------------------------------------------------------------
  190.  
  191.  You can run MEKA from the command line. Simply type "MEKA" followed by the
  192.  filename of the game you want to play. You can also run "MEKA /?" to get
  193.  a crap command line help shown.
  194.  
  195.  Inside of the emulator, the default keyboard mapping is:
  196.  
  197.  Common to all systems
  198.  ---------------------
  199.   D-Pad ...................... Arrow Keys
  200.   Button 1 ................... Left Control
  201.   Button 2 ................... Left Alternate
  202.  
  203.  Master System / SG-1000
  204.  -----------------------
  205.   Soft Pause ................. Return
  206.     This is the same pause as if you pressed the button on a real machine.
  207.     It can be used only if the game supports it at the moment you press it.
  208.   Hard Pause ................. Alt+P
  209.     This "special" pause with keep the game paused without changing anything.
  210.     It is usable everytime, everywhere.
  211.   Soft Reset ................. Backspace
  212.     This is the same reset as if you pressed the button on a real machine.
  213.     It can be used only if the game supports it at the moment you press it.
  214.   Hard Reset ................. Alt+Backspace
  215.     This "special" reset with completly reset the emulated system.
  216.     It is usable everytime, everywhere.
  217.  
  218.  Game Gear
  219.  ---------
  220.   Start ...................... Return
  221.   Hard Reset ................. Backspace
  222.  
  223.  SC-3000
  224.  -------
  225.   Soft Reset ................. Break
  226.  
  227.  Other keys are mapped at the same place as the SC-3000 keyboard.
  228.  So be sure to look at the provided picture carefully. For example:
  229.  
  230.   Control .................... Caps Lock
  231.   Graph ...................... Left Control
  232.  
  233.  Miscellaneous keys
  234.  ------------------
  235.   Display all frames ......... F1
  236.   Display 1/2 frames ......... F2
  237.   Display 1/3 frames ......... F3
  238.   Auto frameskip (buggy) ..... F4
  239.  
  240.   Save Game .................. F5
  241.   Load Game .................. F7
  242.   Previous/Next Game Slot .... F6/F8
  243.   Set slot (0 to 9) .......... 0 -> 9
  244.  
  245.   Change control device ...... F9
  246.   Enable/Disable keyboard .... Alt+F9
  247.  
  248.   Quit emulator .............. F10
  249.   Save screen (PCX) .......... F12
  250.  
  251.  To use a mouse (for the graphical user interface, and Lightgun / Paddle
  252.  emulation), be sure to have an appropriate driver loaded in DOS mode.
  253.  
  254.  To use a joystick, edit the configuration file.
  255.  MEKA wasn't properly tested with a joystick, granted I don't have one.
  256.  Tell me if it's working for you, or send me a joystick.
  257.  
  258. ----------------------------------------------------------------------------
  259.  Level 6 : "It is slooooooooow !!"
  260. ----------------------------------------------------------------------------
  261.  
  262.  Yes.
  263.  MEKA was entirely programmed in C language, and I don't know x86 assembler.
  264.  
  265.  One of the reasons for that is that MEKA emulates the system properly.
  266.  MEKA provides dynamic palette emulation, and a real line-per-line engine.
  267.  Both are disabled by default in BrSMS, that's why it is so fast.
  268.  Thus, if you have a slow system, use BrSMS (or Massage).
  269.  
  270.  You can you also try running MEKA in pure DOS mode.
  271.  Also, be sure to try and use a Vesa 2 video mode in fullscreen.
  272.  Close all boxes in the interface. The tiles viewer is slow in SG1000 mode.
  273.  
  274.  Disable YM2413 hardware emulation for games that use it.
  275.  It requires a lot of CPU power.
  276.  You can switch to software emulation, it'll be less accurate, but faster.
  277.  
  278.  Or disable whole sound emulation.
  279.  Or erase MEKA.
  280.  
  281.  Another reason is that in MEKA, everything is buffered, to avoid flickers
  282.  and make some things easier for the programmer. If you want to give a speed
  283.  boost to the interface, edit the configuration file and change the entry
  284.  "gui_access_mode = buffered" to "gui_access_mode = direct".
  285.  Maybe I'll work on findind a way to make the interface usable in the
  286.  second mode, as it is much faster. Maybe.
  287.  
  288.  The last thing you can do if to configure MEKA to use VESA modes, if your
  289.  video card supports them. Edit MEKA.CFG and change the _driver entrys to
  290.  one of the following values (the higher the better):
  291.  
  292.     1 : VGA
  293.     2 : Mode-X
  294.     3 : Vesa 1.0
  295.     4 : Vesa 2.0 Banked
  296.     5 : Vesa 2.0 Linear
  297.     6 : Vesa 3.0
  298.     7 : VBE/AF
  299.  
  300. ----------------------------------------------------------------------------
  301.  Level 7 : "Man, I still like MEKA !"
  302. ----------------------------------------------------------------------------
  303.  
  304.  Thanks. In this case, if you want to help further development and support
  305.  the author, you are welcome to register Meka.
  306.  
  307.  To do so, you have to send me some Sega cartriges (Master System, SG-1000,
  308.  SC-3000 or Game Gear) or hardware. If you plan to do so, be sure to e-mai
  309.  me beforehand, as it would be better for me not to receive the same game
  310.  twice :). If you cannot find any cartridges, then you can send money, I
  311.  will buy some myself. The fixed price for Meka is 20$. You can also send
  312.  the French Franc equivalent, if you live in France.
  313.  
  314.  My address is:    Omar Cornut
  315.                    21 rue Beranger
  316.                    75003 Paris
  317.                    France
  318.  
  319.  If you do not agree these terms, then you can delete this software now, as
  320.  it will destroy your computer after a certain amount of time using a non
  321.  registered version. Also, if you have dogs living in your house, Meka will
  322.  autodetect them and kill them by sending ultra sonic waves through the PC
  323.  speakers. Just don't say I made it for the money, please.
  324.  
  325.  Registered users will receive information and new version before others.
  326.  They will also receive intermediate updates of Meka, if they want to.
  327.  They will also get informations about my other projects (and betas).
  328.  
  329. ----------------------------------------------------------------------------
  330.  Level 8 : Reasons to use MEKA instead of those other emulators
  331. ----------------------------------------------------------------------------
  332.  
  333.  There is no reason why you should use it instead of another emulator.
  334.  Use it if you like it.
  335.  I am not trying to compete with anyone.
  336.  I made MEKA for my own use, to play my own cartridges on my own computer.
  337.  
  338.  When starting, I planned to continue updating it regulary, in respect to
  339.  registered users. I also wanted to do only quality releases, instead of
  340.  releasing a new (buggy) version every week. That's why it came so late.
  341.  
  342. ----------------------------------------------------------------------------
  343.  Level 9 : Cool things to do when playing games is not enough
  344. ----------------------------------------------------------------------------
  345.  
  346.  Edit MEKA.NAM to add new comments about games you like.
  347.  
  348.  Edit MEKA.PAT to add new game patches (and send them to me).
  349.  
  350.  Edit MEKA.THM to add new GUI color themes (and send them to me).
  351.  
  352.  Register the programs you like.
  353.  
  354.  Connect to an Efnet IRC server and join #meka to meet strange people.
  355.  
  356.  
  357. ----------------------------------------------------------------------------
  358.  Credits
  359. ----------------------------------------------------------------------------
  360.  
  361.  I would like to thank the following persons for their invaluable help:
  362.  
  363.  Hiromitsu Shioya (Hiro-Shi):
  364.   for having done the sound/music emulation in Meka. without him, you would
  365.   be using the emulator with a crap and buggy sound engine.
  366.  
  367.  Nicolas Hamel (Gouky):
  368.   for the invaluable help at the very beginning. "heh, what is a CPU ? :)"
  369.   http://www.multimania.fr/gouky
  370.  
  371.  David Michel (Rony):
  372.   for Magic Engine, support, advice and help.
  373.   http://joyce.eng.yale.edu/~bt/turbo/emu/
  374.  
  375.  Yakmo:
  376.   for roms, informations, help, and being the coolest guy on earth :)
  377.  
  378.  Sankichi, Casiopea Skylark and Skyhigh:
  379.   for having dumped tons of roms, and informations.
  380.  
  381.  James McKay:
  382.   for Massage, and kindly answered all the crap questions I asked when I was
  383.   starting, and even after (although I helped him a bit, too ;)
  384.   http://www.enterspace.org/world/massage.htm
  385.  
  386.  Charles Mac Donald:
  387.   for SMSPlus, and for lot of help regarding optimizations.
  388.   http://cgfm2.home.ml.org
  389.  
  390.  Marat Fayzullin:
  391.   for Master Gear, for being the one all users and authors should respect,
  392.   for having released the sources of most of his emulators and CPU cores,
  393.   and is still continuing, despite people that are profiting from his work
  394.   without respecting some elementary rules. Also because he wrote a technical
  395.   document about the Master System. Now if you are the kind of person who
  396.   hate him for no other reasons that the Windows ports of his emulators are
  397.   not free, remember he is the father of console emulation, and that without
  398.   him, many emulators wouldn't exist (Nesticle comes to mind. And MEKA).
  399.   http://www.komkon.org/fms/MG/
  400.  
  401.  Ricardo Bittencourt:
  402.   for BrSMS (great emu), and for having shared (some) information together.
  403.   http://www.lsi.usp.br/~ricardo/brsms.htm
  404.  
  405.  Jon (the unknown one):
  406.   this guy is the one who wrote the (old) document with all the knowledge
  407.   on which the first emulators were based. I am also pretty sure the first
  408.   dumps came from him. Although I doubt he's still on the internet, I would
  409.   love to be in contact with him. Jon, if you're reading, e-mail me ;)
  410.  
  411.  Super Majik Spiral Crew (the):
  412.   for writing a technical documentation about the SMS.
  413.  
  414.  Richard Talbot Watkins:
  415.   for having written a technical documentation about the SMS, although I
  416.   found it recently and it didn't helped me much. He is also the author of
  417.   Miracle, a SMS emulator for Acorn machines.
  418.   http://www.willothewisp.demon.co.uk/SMS/
  419.  
  420.  Sean Young:
  421.   for writing a technical documentation about the TMS9918a.
  422.   http://www.msxnet.org
  423.  
  424.  Andrew Lindsay:
  425.   for having dumped tons of roms, and for SMScheck. If you don't know him and
  426.   his site, then I'm afraid you missed the golden age of emulation.
  427.  
  428.  Sega Notebook (the):
  429.   for having dumped a few roms, and because the site is cool (tons of cheats)
  430.   http://shell0.elnet.com/~gm-quinn/sms/
  431.  
  432.  Dump Masters (ViperZ and Omega):
  433.   for having dumped a few roms (including those crappy Brazilian hacks ;)
  434.   http://www.emucamp.com/dump_masters
  435.  
  436.  Charles Doty:
  437.   this guy contributed a lot to the console development scene. He also wrote
  438.   an old text demo for Game Gear, which is from where I started learning Z80.
  439.   http://www.pcisys.net/~cdoty/console
  440.  
  441.  Nicolas Lannier (Archeide):
  442.   for SNEmul, support, advice and help.
  443.   http://www.epita.fr/~lannie_n/english.html
  444.  
  445.  Richard Bush (Antiriad):
  446.   for Raine, support, advice and help.
  447.   http://www.rainemu.com
  448.  
  449.  Richard Mitton (Nodrog):
  450.   for TNZS-Emu, support, advice and help.
  451.   http://www.emucamp.com/tnzs
  452.  
  453.  Mxs:
  454.   for being the only good tester, and having done the GG compatibility list.
  455.   http://vertigo.sohonet.com
  456.  
  457.  Sam Pettus:
  458.   for your Gam.. err, Sega 8-bit Compatibility Chart ;)
  459.  
  460.  Lasse (of Image/Helsinki/Finland):
  461.   for the original Master System BIOS rom. Before getting it, me and Martin
  462.   spent a lot of time reprogramming it and creating the needed tools for it.
  463.   Then a few days before the release, Lasse sent me the ROM. Believe it or
  464.   not, there was only one different pixel between the original Sega logo and
  465.   mine ;-)
  466.  
  467.  Martin Skog (MoonTrip):
  468.   for the Wonderboy 3 music he made, for some explanations about sound waves,
  469.   and for your very good Sega sound reproduction (the one that was about to
  470.  be used in the reprogrammed boot ROM, before Lasse sent the original one).
  471.  
  472.  Larry M (Ellum):
  473.   for the Wonderboy 3 music he made. This game definitively rocks !
  474.   http://sega-zone.com/sega_haven
  475.  
  476.  Olivier Aichelbaum and the_unknown_contributor:
  477.   for the SC-3000h, the BASIC cartridge and the documentations.
  478.   http://www.acbm.com
  479.  
  480.  An unknown guy:
  481.   for the rendered Master System picture used on the interface.
  482.  
  483.  Puyolin:
  484.   for the "Ocean" and "Emucamp" color themes (used in the interface), and
  485.   for having corrected(correcting) mistake/s? in/on? (the?) documentation/s?
  486.                     ~~~                  ~~~~          xx                ~~~
  487.  Westone:
  488.   for making Wonderboy 3, the best game ever.. ten years ago :~)
  489.   http://www.westone.co.jp
  490.  
  491.  The seventeen persons who bothered registering Meka,
  492.  And of course thanks to SEGA, for such a cool system and great games !
  493.  
  494. ----------------------------------------------------------------------------
  495.   ·         ∙                ·          ·          ·        ∙         ·
  496.      Goodnight Wonderboy,       ∙  ·         ·                    ∙
  497.      Goodnight Monsterland.           ∙           ∙    ·      ·           ∙
  498.        ∙        ∙     ·         ·         ∙               ∙        ∙
  499.   ·       __________     ∙             ·       ·                       ·
  500.     ∙    /          \        ·    ∙         ∙         ·    ·
  501.         |____________|     ∙            ·                       ∙         ·
  502.  ∙       |     ___  |           ·                ·      ∙             ·
  503.       ·  |    |   | |   ·     ∙       ∙     ·               ·
  504.   ·      |    |   | |             ·                ∙                ·   ∙
  505. ----------------------------------------------------------------------------
  506.